package com.pactera.asmp.server.pojo;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pactera.asmp.server.common.annotations.FieldMeta;
import com.pactera.asmp.server.common.utils.FastJsonUtil;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @ProjectName: asmp-server
 * @Package com.pactera.asmp.server.pojo
 * @ClassName: ScriptInfo
 * @Description: ScriptInfo
 * @Date 2020/07/22 15:21
 * @Author lvzhiqiang
 * @Version 1.0
 */
public class ScriptInfo {

    private Integer id;
    @FieldMeta
    private String name;
    @FieldMeta
    private String description;
    private JSONObject scriptData;
    private JSONObject scriptDataOriginal;
    private Integer userId;
    private String username;
    private String updateUsername;
    private Integer updateUserId;
    private String deviceSn;
    @FieldMeta
    private String deviceId;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime timeCreate;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    @FieldMeta
    private Integer status;
    @FieldMeta
    private Integer scriptType;
    @FieldMeta
    private String scriptCategory;
    @FieldMeta
    private Integer projectModuleId;
    @FieldMeta
    private String proModuleName;

    @FieldMeta
    private Integer projectId;
    @FieldMeta
    private String projcetName;

    @FieldMeta
    private String duid;

    @FieldMeta
    private Short supportCan;

    @FieldMeta
    private Short supportAuxiliary;

    @FieldMeta
    private Short performanceType;

    private List<Long> constantIds;

    public String getUpdateUsername() {
        return updateUsername;
    }

    public void setUpdateUsername(String updateUsername) {
        this.updateUsername = updateUsername;
    }

    public Integer getUpdateUserId() {
        return updateUserId;
    }

    public void setUpdateUserId(Integer updateUserId) {
        this.updateUserId = updateUserId;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getDuid() {
        return duid;
    }

    public void setDuid(String duid) {
        this.duid = duid;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public void setScriptData(JSONObject scriptData) {
        this.scriptData = scriptData;
    }

    public JSONObject getScriptData() {
        return scriptData;
    }

    public JSONObject getScriptDataOriginal() {
        return scriptDataOriginal;
    }

    public void setScriptDataOriginal(JSONObject scriptDataOriginal) {
        this.scriptDataOriginal = scriptDataOriginal;
    }

    public String getDeviceSn() {
        return deviceSn;
    }

    public void setDeviceSn(String deviceSn) {
        this.deviceSn = deviceSn;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public LocalDateTime getTimeCreate() {
        return timeCreate;
    }

    public void setTimeCreate(LocalDateTime timeCreate) {
        this.timeCreate = timeCreate;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getScriptType() {
        return scriptType;
    }

    public void setScriptType(Integer scriptType) {
        this.scriptType = scriptType;
    }

    public String getScriptCategory() {
        return scriptCategory;
    }

    public void setScriptCategory(String scriptCategory) {
        this.scriptCategory = scriptCategory;
    }

    public Integer getProjectModuleId() {
        return projectModuleId;
    }

    public void setProjectModuleId(Integer projectModuleId) {
        this.projectModuleId = projectModuleId;
    }

    public String getProModuleName() {
        return proModuleName;
    }

    public void setProModuleName(String proModuleName) {
        this.proModuleName = proModuleName;
    }

    public Integer getProjectId() {
        return projectId;
    }

    public void setProjectId(Integer projectId) {
        this.projectId = projectId;
    }

    public String getProjcetName() {
        return projcetName;
    }

    public void setProjcetName(String projcetName) {
        this.projcetName = projcetName;
    }

    public Short getSupportCan() {
        return supportCan;
    }

    public void setSupportCan(Short supportCan) {
        this.supportCan = supportCan;
    }

    public Short getSupportAuxiliary() {
        return supportAuxiliary;
    }

    public void setSupportAuxiliary(Short supportAuxiliary) {
        this.supportAuxiliary = supportAuxiliary;
    }

    public Short getPerformanceType() {
        return performanceType;
    }

    public void setPerformanceType(Short performanceType) {
        this.performanceType = performanceType;
    }

    public List<Long> getConstantIds() {
        return constantIds;
    }

    public void setConstantIds(List<Long> constantIds) {
        this.constantIds = constantIds;
    }

    @Override
    public String toString() {
        return FastJsonUtil.BeanToJson(this);
    }
}
